package principale.main;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.UIManager;

import principale.domain.Persona;
import principale.domain.Utente;
import principale.persistenza.dao.PersonaDao;
import principale.persistenza.database.PersonaDaoDatabase;
import principale.persistenza.file.PersonaDaoFile;
import principale.presentation.gui.interfacciaGraficaPura.LoginGUI;
import principale.presentation.gui.interfacciaGraficaPura.RubricaInterfacciaGrafica;

public class Main {
	public static PersonaDao persistenza;

	public static void main(String[] args) {
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (Exception e) {
			e.printStackTrace();
		}
		//RubricaInterfacciaGrafica rubricaGrafica=new RubricaInterfacciaGrafica();
		//rubricaGrafica.mostraGUI();
		LoginGUI login=new LoginGUI();
		login.mostraGUI();
	}
	
	public static void centralizzaFinestra(JFrame frame) {
	    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
	    int x = (int) ((dimension.getWidth() - frame.getWidth()) / 2);
	    int y = (int) ((dimension.getHeight() - frame.getHeight()) / 2);
	    frame.setLocation(x, y);
	}
	
	public static void impostaTipoSalvataggio(String tipo) {
		switch(tipo) {
		case "File":  persistenza=new PersonaDaoFile(); break;
		case "Database": persistenza=new PersonaDaoDatabase(); break;
		}
	}
	
	public static Vector<Persona> stringArrayVectorToPersonaVector(Vector<String[]> stringArrayVector) {
		Vector<Persona> personaVector=new Vector<Persona>();
		for (String[] stringArray: stringArrayVector) {
			personaVector.add(new Persona(stringArray[0],stringArray[1],stringArray[2],stringArray[3]));
		}
		return personaVector;
	}
	
	public static Vector<Utente> stringArrayVectorToUtenteVector(Vector<String[]> stringArrayVector) {
		Vector<Utente> utenteVector=new Vector<Utente>();
		for (String[] stringArray: stringArrayVector) {
			utenteVector.add(new Utente(stringArray[0],stringArray[1]));
		}
		return utenteVector;
	}
}
